package top.infopub.mgr.bpa.dao;


import java.util.List;

import org.apache.ibatis.annotations.Param;

import top.infopub.generic.GenericDao;
import top.infopub.mgr.bpa.domain.ProContractDetailAndSubDomain;
import top.infopub.model.bpa.ProContractDetail;


/** 合同清单分解子项费用明细(BPA_PRO_CONTRACT_DETAIL) **/
public interface ProContractDetailDao extends GenericDao<ProContractDetail, String> {

    /**
     * 批量添加项目合同清单分解子项费用明细
     */
    void insertByBatch(@Param("list") List<ProContractDetail> proContractDetails);

    /**
     * 用于承继协议原合同添加时插入
     * @param proContractId
     * @return 
     * @see
     */
    List<ProContractDetail> selectByDetail(@Param("proContractId") String proContractId);

    /**
     * 根据承继协议id查询分解清单子项费用明细和子项信息
     */
    List<ProContractDetailAndSubDomain> selectDetailAndSub(@Param("proContractId") String proContractId,
                                                           @Param("feeType1") String feeType1,
                                                           @Param("feeType3") String feeType3,
                                                           @Param("feeSmallType1") String feeSmallType1,
                                                           @Param("feeSmallType2") String feeSmallType2,
                                                           @Param("levels") String levels);

}